home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / MATCHNET.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  6.2 KB  |  223 lines

  1. 10  'MATCHNET - Matching networks for Transistors - 02 JAN 95 rev.29 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  ON ERROR GOTO 240
  5. 50  COLOR 7,0,1
  6. 60  UL$=STRING$(80,205)
  7. 70  U1$="##,###.###"
  8. 80  U2$="##,###"
  9. 90  U3$="####.#"
  10. 100  PI=3.14159
  11. 110  '
  12. 120  '.....page 1
  13. 130  XC1=0:XC2=0:XL1=0:XL2=0
  14. 140  CLS
  15. 150  COLOR 15,2
  16. 160  PRINT " MATCHING NETWORKS for TRANSISTORS";
  17. 170  PRINT TAB(57);"by George Murphy VE3ERP ";
  18. 180  COLOR 1,0:PRINT STRING$(80,223);
  19. 190  LOCATE 24,1:PRINT STRING$(80,220);
  20. 200  COLOR 15,1:LOCATE 25,1:PRINT STRING$(80,32);:LOCATE 25,10
  21. 210  PRINT " Ref. ARRL ELECTRONICS DATA BOOK, 2nd Edition, pp. 5-3 to 5-8 ";
  22. 220  GOTO 1120
  23. 230  '
  24. 240  '.....error trap
  25. 250  CLS:BEEP
  26. 260  IF ERR=5 OR ERR=11 THEN 280
  27. 270  PRINT " Error";ERR;"in line";ERL:END
  28. 280  COLOR 15,1:LOCATE 12,13
  29. 290  PRINT " You may have entered a parameter that is not possible."
  30. 300  LOCATE 13,13
  31. 310  PRINT "              Press any key to start over.             "
  32. 320  IF INKEY$=""THEN 320
  33. 330  COLOR 7,0:CLS:RESUME 30
  34. 340  '
  35. 350  '.....diagrams
  36. 360  COLOR 0,7
  37. 370  LOCATE ,CO:PRINT " DELETETransistorAUTO                      "
  38. 380  LOCATE ,CO:PRINT "  VARPTRSOUND  SOUNDSOUND  SOUNDCOLOR   L1         C2       "
  39. 390  LOCATE ,CO:PRINT "    VARPTRSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUNDSOUNDORORORORSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUNDCOLOR   "
  40. 400  LOCATE ,CO:PRINT "  CALL CALL   Co CALL         CALL         CALL   "
  41. 410  LOCATE ,CO:PRINT "    R1            C1THENINSTRTHEN        RL  "
  42. 420  LOCATE ,CO:PRINT "  CALL CALL      CALL         CALL         CALL   "
  43. 430  LOCATE ,CO:PRINT "    CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'   "
  44. 440  LOCATE ,CO:PRINT "  CLSSOUND  SOUNDSOUND  SOUND'                       "
  45. 450  COLOR 15,2
  46. 460  LOCATE ,CO:PRINT "     NETWORK #1, where R1 < RL     "
  47. 470  COLOR 7,0
  48. 480  RETURN
  49. 490  '
  50. 500  COLOR 0,7
  51. 510  LOCATE ,CO:PRINT " DELETETransistorAUTO                      "
  52. 520  LOCATE ,CO:PRINT "  VARPTRSOUND  SOUNDSOUND  SOUNDCOLOR         L1            "
  53. 530  LOCATE ,CO:PRINT "    VARPTRSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDORORORORSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDCOLOR   "
  54. 540  LOCATE ,CO:PRINT "  CALL CALL   CALL  CALL     CALL        CALL    CALL   "
  55. 550  LOCATE ,CO:PRINT "    R1 THENINSTRTHENCo  C1THENINSTRTHEN    C2THENINSTRTHEN   RL  "
  56. 560  LOCATE ,CO:PRINT "  CALL CALL   CALL  CALL     CALL        CALL    CALL   "
  57. 570  LOCATE ,CO:PRINT "    CLSSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUND'   "
  58. 580  LOCATE ,CO:PRINT "  CLSSOUND  SOUNDSOUND  SOUND'                       "
  59. 590  COLOR 15,2
  60. 600  LOCATE ,CO:PRINT "     NETWORK #2, where R1 > RL     "
  61. 610  COLOR 7,0
  62. 620  RETURN
  63. 630  '
  64. 640  COLOR 0,7
  65. 650  LOCATE ,CO:PRINT " DELETETransistorAUTO                      "
  66. 660  LOCATE ,CO:PRINT "  VARPTRSOUND  SOUNDSOUND  SOUNDCOLOR    C1   L1            "
  67. 670  LOCATE ,CO:PRINT "    VARPTRSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDORORORORSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDCOLOR   "
  68. 680  LOCATE ,CO:PRINT "  CALL CALL   Co CALL              CALL    CALL   "
  69. 690  LOCATE ,CO:PRINT "    R1                 C2THENINSTRTHEN   RL  "
  70. 700  LOCATE ,CO:PRINT "  CALL CALL      CALL              CALL    CALL   "
  71. 710  LOCATE ,CO:PRINT "    CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUND'   "
  72. 720  LOCATE ,CO:PRINT "  CLSSOUND  SOUNDSOUND  SOUND' (Option 2 of 2)       "
  73. 730  COLOR 15,2
  74. 740  LOCATE ,CO:PRINT "    NETWORK #3, where R1 < 50 -    "
  75. 750  COLOR 7,0
  76. 760  RETURN
  77. 770  '
  78. 780  COLOR 0,7
  79. 790  LOCATE ,CO:PRINT " DELETETransistorAUTO                      "
  80. 800  LOCATE ,CO:PRINT "  VARPTRSOUND  SOUNDSOUND  SOUNDCOLOR    C1   L1            "
  81. 810  LOCATE ,CO:PRINT "    VARPTRSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDUSINGSOUNDSOUNDSOUNDORORORORSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDCOLOR   "
  82. 820  LOCATE ,CO:PRINT "  CALL CALL   CALL  CALL CALL            CALL    CALL   "
  83. 830  LOCATE ,CO:PRINT "    R1 THENINSTRTHENCo CLSSOUNDORORORORSOUNDCOLOR  C2THENINSTRTHEN   RL  "
  84. 840  LOCATE ,CO:PRINT "  CALL CALL   CALL  CALL    L2  CALL     CALL    CALL   "
  85. 850  LOCATE ,CO:PRINT "    CLSSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUND'   "
  86. 860  LOCATE ,CO:PRINT "  CLSSOUND  SOUNDSOUND  SOUND' (Option 1 of 2)       "
  87. 870  COLOR 15,2
  88. 880  LOCATE ,CO:PRINT "    NETWORK #3, where R1 < 50 -    "
  89. 890  COLOR 7,0
  90. 900  RETURN
  91. 910  '
  92. 920  COLOR 0,7
  93. 930  LOCATE ,CO:PRINT " DELETETransistorAUTO                      "
  94. 940  LOCATE ,CO:PRINT "  VARPTRSOUND  SOUNDSOUND  SOUNDCOLOR   L1         L2       "
  95. 950  LOCATE ,CO:PRINT "    VARPTRSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUNDSOUNDORORORORSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDORORORORSOUNDSOUNDCOLOR   "
  96. 960  LOCATE ,CO:PRINT "  CALL CALL   Co CALL         CALL         CALL   "
  97. 970  LOCATE ,CO:PRINT "    R1            C1THENINSTRTHEN        RL  "
  98. 980  LOCATE ,CO:PRINT "  CALL CALL      CALL         CALL         CALL   "
  99. 990  LOCATE ,CO:PRINT "    CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'   "
  100. 1000  LOCATE ,CO:PRINT "  CLSSOUND  SOUNDSOUND  SOUND'                       "
  101. 1010  COLOR 15,2
  102. 1020  LOCATE ,CO:PRINT "  NETWORK #4, Low-pass, T-Section  "
  103. 1030  COLOR 7,0
  104. 1040  RETURN
  105. 1050  '
  106. 1060  '.....display input
  107. 1070  LOCATE CSRLIN-1:PRINT "        ";:LOCATE CSRLIN,43
  108. 1080  IF Z=QL THEN PRINT USING U2$;Z:GOTO 1100
  109. 1090  PRINT USING U1$;Z
  110. 1100  RETURN
  111. 1110  '
  112. 1120  '.....start
  113. 1130  LOCATE  3:CO= 4:GOSUB 350
  114. 1140  LOCATE  3:CO=43:GOSUB 500
  115. 1150  LOCATE 13:CO= 4:GOSUB 780
  116. 1160  LOCATE 13:CO=43:GOSUB 920
  117. 1170  PRINT UL$;
  118. 1180  COLOR 15,2:LOCATE CSRLIN,3
  119. 1190  PRINT " Press one of the above network numbers to start program or";
  120. 1200  COLOR 15,4
  121. 1210  PRINT " Press 0 to EXIT."
  122. 1220  COLOR 7,0
  123. 1230  N$=INKEY$:IF N$=""THEN 1230
  124. 1240  IF N$="0" THEN CLS:RUN EX$
  125. 1250  IF N$="1" THEN CLS:LOCATE 2:CO=24:GOSUB 350:GOTO 1320
  126. 1260  IF N$="2" THEN CLS:LOCATE 2:CO=24:GOSUB 500:GOTO 1320
  127. 1270  IF N$="3" THEN CLS:LOCATE 2:CO= 4:GOSUB 780             '#3, option 1
  128. 1280  IF N$="3" THEN LOCATE 2:CO= 43:GOSUB 640:GOTO 1320      '#3, option 2
  129. 1290  IF N$="4" THEN CLS:LOCATE 2:CO=24:GOSUB 920:GOTO 1320
  130. 1300  GOTO 1230
  131. 1310  '
  132. 1320  '.....input & print
  133. 1330  PRINT UL$;
  134. 1340  IF N$<>"3"THEN 1420
  135. 1350  INPUT " ENTER: Desired option ( 1 or 2 )............";OPT
  136. 1360  IF OPT=1 OR OPT=2 THEN 1380
  137. 1370  BEEP:LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1:GOTO 1350
  138. 1380  CLS:LOCATE 2:CO=24
  139. 1390  IF OPT=1 THEN GOSUB 780
  140. 1400  IF OPT=2 THEN GOSUB 640
  141. 1410  PRINT UL$;
  142. 1420  INPUT " ENTER: Terminating impedance (ohms)...RL=   ";RL
  143. 1430  Z=RL:GOSUB 1060
  144. 1440  INPUT " ENTER: Frequency (MHz).................F=   ";F
  145. 1450  Z=F:GOSUB 1060
  146. 1460  INPUT " ENTER: Capacitive component (pF)......Co=   ";CO
  147. 1470  Z=CO:GOSUB 1060
  148. 1480  XCO=10^6/(2*PI*F*CO)    'transistor reactance
  149. 1490  PRINT "        Reactance of Co (ohms)........XCo=";USING U1$;XCO
  150. 1500  INPUT " ENTER: Resistive component (ohms).....R1=   ";R1
  151. 1510  Z=R1:GOSUB 1060
  152. 1520  INPUT " ENTER: Desired Network Q (range 1-4)..QL=   ";QL
  153. 1530  Z=QL:GOSUB 1060
  154. 1540  GOSUB 1740    'calculate
  155. 1550  '
  156. 1560  '.....screen print
  157. 1570  PRINT "        Reactance of L1 (ohms)........XL1=";USING U1$;XL1;
  158. 1580  L1=XL1/(2*PI*F):PRINT TAB(57)"L1=";USING U3$;L1;:PRINT " >H"
  159. 1590  IF XL2=0 THEN 1620
  160. 1600  PRINT "        Reactance of L2 (ohms)........XL2=";USING U1$;XL2;
  161. 1610  L2=XL2/(2*PI*F):PRINT TAB(57)"L2=";USING U3$;L2;:PRINT " >H"
  162. 1620  PRINT "        Reactance of C1 (ohms)........XC1=";USING U1$;XC1;
  163. 1630  C1=10^6/(2*PI*F*XC1):PRINT TAB(57)"C1=";USING U2$;C1;:PRINT " pF"
  164. 1640  IF XC2=0 THEN 1670
  165. 1650  PRINT "        Reactance of C2 (ohms)........XC2=";USING U1$;XC2;
  166. 1660  C2=10^6/(2*PI*F*XC2):PRINT TAB(57)"C2=";USING U2$;C2;:PRINT " pF";
  167. 1670  PRINT UL$;
  168. 1680  COLOR 0,7:LOCATE CSRLIN,13
  169. 1690  PRINT " Original Data Source: Motorola Application Note AN-267 "
  170. 1700  COLOR 7,0
  171. 1710  PRINT UL$;
  172. 1720  GOTO 2050
  173. 1730  '
  174. 1740  '.....calculate
  175. 1750  IF N$<>"1"THEN 1830
  176. 1760  XL1=QL*R1+XCO
  177. 1770  A=SQR((R1*(QL^2+1)/RL)-1)
  178. 1780  B=R1*(QL^2+1)
  179. 1790  XC1=B/(QL+A)
  180. 1800  XC2=A*RL
  181. 1810  RETURN
  182. 1820  '
  183. 1830  IF N$<>"2"THEN 1890
  184. 1840  XC1=R1/QL
  185. 1850  XC2=RL*SQR(R1/RL/((QL^2+1)-(R1/RL)))
  186. 1860  XL1=(QL*R1+R1*RL/XC2)/(QL^2+1)
  187. 1870  RETURN
  188. 1880  '
  189. 1890  IF N$<>"3"THEN 1980
  190. 1900  XC1=QL*R1
  191. 1910  XC2=RL*SQR(R1/(RL-R1))
  192. 1920  IF OPT=1 THEN XL2=XCO
  193. 1930  IF OPT=2 THEN XL2=0
  194. 1940  IF OPT=1 THEN XL1=XC1+(R1*RL/XC2)
  195. 1950  IF OPT=2 THEN XL1=XC1+(R1*RL/XC2)+XCO
  196. 1960  RETURN
  197. 1970  '
  198. 1980  XL1=R1*QL+XCO
  199. 1990  A=R1*(QL^2+1)
  200. 2000  B=SQR(A/RL-1)
  201. 2010  XL2=RL*B
  202. 2020  XC1=A/(QL+B)
  203. 2030  RETURN
  204. 2040  '
  205. 2050  '.....end
  206. 2060  GOSUB 2100
  207. 2070  GOTO 120   'start
  208. 2080  END
  209. 2090  '
  210. 2100  'HARDCOPY
  211. 2110  GOSUB 2220:LOCATE 25,2:COLOR 14,6
  212. 2120  PRINT " Press 1 to print screen, 2 to print screen & ";
  213. 2130  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  214. 2140  Z$=INKEY$:IF Z$="3"THEN GOSUB 2220:RETURN
  215. 2150  IF Z$="1"OR Z$="2"THEN GOSUB 2220:GOTO 2170
  216. 2160  GOTO 2140
  217. 2170  FOR QX=1 TO 24:FOR QY=1 TO 80
  218. 2180  LPRINT CHR$(SCREEN(QX,QY));
  219. 2190  NEXT QY:NEXT QX
  220. 2200  IF Z$="2"THEN LPRINT CHR$(12)
  221. 2210  GOTO 2110
  222. 2220  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  223.